static gboolean
gdk_window_is_offscreen (GdkWindowObject *window)
{
- return GDK_WINDOW_TYPE (window) == GDK_WINDOW_OFFSCREEN;
+ return window->window_type == GDK_WINDOW_OFFSCREEN;
}
static GdkWindowObject *
r.height = private->height;
new_clip = gdk_region_rectangle (&r);
- if (private->parent != NULL && GDK_WINDOW_TYPE (private->parent) != GDK_WINDOW_ROOT)
+ if (private->parent != NULL && private->parent->window_type != GDK_WINDOW_ROOT)
{
gdk_region_intersect (new_clip, private->parent->clip_region);
old_clip_region_with_children = private->clip_region_with_children;
private->clip_region_with_children = gdk_region_copy (private->clip_region);
- if (GDK_WINDOW_TYPE (private) != GDK_WINDOW_ROOT)
+ if (private->window_type != GDK_WINDOW_ROOT)
remove_child_area (private, NULL, FALSE, private->clip_region_with_children);
if (clip_region_changed ||
/* Update all children, recursively (except for root, where children are not exact). */
if ((abs_pos_changed || clip_region_changed || recalculate_children) &&
- GDK_WINDOW_TYPE (private) != GDK_WINDOW_ROOT)
+ private->window_type != GDK_WINDOW_ROOT)
{
for (l = private->children; l; l = l->next)
{
/* or for non-shaped toplevels */
(private->shaped ||
(private->parent != NULL &&
- GDK_WINDOW_TYPE (private->parent) != GDK_WINDOW_ROOT)) &&
+ private->parent->window_type != GDK_WINDOW_ROOT)) &&
/* or for foreign windows */
- GDK_WINDOW_TYPE (private) != GDK_WINDOW_FOREIGN &&
+ private->window_type != GDK_WINDOW_FOREIGN &&
/* or for the root window */
- GDK_WINDOW_TYPE (private) != GDK_WINDOW_ROOT
+ private->window_type != GDK_WINDOW_ROOT
)
{
GDK_WINDOW_IMPL_GET_IFACE (private->impl)->shape_combine_region ((GdkWindow *)private, private->clip_region, 0, 0);
if (recalculate_siblings &&
private->parent != NULL &&
- GDK_WINDOW_TYPE (private->parent) != GDK_WINDOW_ROOT)
+ private->parent->window_type != GDK_WINDOW_ROOT)
{
/* If we moved a child window in parent or changed the stacking order, then we
* need to recompute the visible area of all the other children in the parent
* from an untrusted client: http://bugs.freedesktop.org/show_bug.cgi?id=6988
*/
if (attributes->wclass == GDK_INPUT_ONLY &&
- GDK_WINDOW_TYPE (private->parent) == GDK_WINDOW_ROOT &&
+ private->parent->window_type == GDK_WINDOW_ROOT &&
!G_LIKELY (GDK_DISPLAY_X11 (GDK_WINDOW_DISPLAY (parent))->trusted_client))
{
g_warning ("Coercing GDK_INPUT_ONLY toplevel window to GDK_INPUT_OUTPUT to work around bug in Xorg server");
private->parent->children = g_list_prepend (private->parent->children, window);
native = FALSE; /* Default */
- if (GDK_WINDOW_TYPE (private->parent) == GDK_WINDOW_ROOT)
+ if (private->parent->window_type == GDK_WINDOW_ROOT)
native = TRUE; /* Always use native windows for toplevels */
else if (!private->input_only &&
((attributes_mask & GDK_WA_COLORMAP &&
recompute_visible_regions (private, TRUE, FALSE);
- if (GDK_WINDOW_TYPE (private->parent) != GDK_WINDOW_ROOT)
+ if (private->parent->window_type != GDK_WINDOW_ROOT)
{
/* Inherit redirection from parent */
private->redirect = private->parent->redirect;
g_object_set_qdata (G_OBJECT (screen), quark_pointer_window, NULL);
- switch (GDK_WINDOW_TYPE (window))
+ switch (private->window_type)
{
case GDK_WINDOW_ROOT:
if (!screen->closed)
case GDK_WINDOW_TEMP:
case GDK_WINDOW_FOREIGN:
case GDK_WINDOW_OFFSCREEN:
- if (GDK_WINDOW_TYPE (window) == GDK_WINDOW_FOREIGN && !foreign_destroy)
+ if (private->window_type == GDK_WINDOW_FOREIGN && !foreign_destroy)
{
/* Logically, it probably makes more sense to send
* a "destroy yourself" message to the foreign window
private->bg_pixmap = NULL;
}
- if (GDK_WINDOW_TYPE (window) == GDK_WINDOW_FOREIGN)
+ if (private->window_type == GDK_WINDOW_FOREIGN)
g_assert (private->children == NULL);
else
{
obj = (GdkWindowObject *)window;
- while (GDK_WINDOW_TYPE (obj) == GDK_WINDOW_CHILD)
+ while (obj->window_type == GDK_WINDOW_CHILD)
{
if (obj->parent == NULL ||
- GDK_WINDOW_TYPE (obj->parent) == GDK_WINDOW_ROOT)
+ obj->parent->window_type == GDK_WINDOW_ROOT)
break;
obj = obj->parent;
}
tmp_list = ((GdkWindowObject *)root_window)->children;
while (tmp_list)
{
- if (GDK_WINDOW_TYPE (tmp_list->data) != GDK_WINDOW_FOREIGN)
- new_list = g_list_prepend (new_list, tmp_list->data);
+ GdkWindowObject *w = tmp_list->data;
+
+ if (w->window_type != GDK_WINDOW_FOREIGN)
+ new_list = g_list_prepend (new_list, w);
tmp_list = tmp_list->next;
}
while (private &&
(private != (GdkWindowObject *)root_window) &&
- (GDK_WINDOW_TYPE (private) != GDK_WINDOW_FOREIGN))
+ (private->window_type != GDK_WINDOW_FOREIGN))
{
if (GDK_WINDOW_DESTROYED (private) || !GDK_WINDOW_IS_MAPPED (private))
return FALSE;
*/
private = impl_window;
while (private->parent != NULL &&
- GDK_WINDOW_TYPE (private->parent) != GDK_WINDOW_ROOT)
+ private->parent->window_type != GDK_WINDOW_ROOT)
{
dx -= private->parent->abs_x + private->x;
dy -= private->parent->abs_y + private->y;
/* Just do native raise for toplevels */
if (private->parent == NULL ||
- GDK_WINDOW_TYPE (private->parent) == GDK_WINDOW_ROOT)
+ private->parent->window_type == GDK_WINDOW_ROOT)
{
GDK_WINDOW_IMPL_GET_IFACE (private->impl)->raise (window);
}
explicitly hidden, otherwise we might cause
suprising things to happen to the other client. */
if (GDK_WINDOW_IS_MAPPED (child) &&
- GDK_WINDOW_TYPE (child) != GDK_WINDOW_FOREIGN)
+ child->window_type != GDK_WINDOW_FOREIGN)
show_all_visible_impls (child, FALSE);
}
/* Just do native lower for toplevels */
if (private->parent == NULL ||
- GDK_WINDOW_TYPE (private->parent) == GDK_WINDOW_ROOT)
+ private->parent->window_type == GDK_WINDOW_ROOT)
{
GDK_WINDOW_IMPL_GET_IFACE (private->impl)->lower (window);
}
GdkRectangle r, child;
if (private->parent == NULL ||
- GDK_WINDOW_TYPE (private->parent) == GDK_WINDOW_ROOT)
+ private->parent->window_type == GDK_WINDOW_ROOT)
return;
/* get the visible rectangle of the parent */
explicitly hidden, otherwise we might cause
suprising things to happen to the other client. */
if (GDK_WINDOW_IS_MAPPED (child) &&
- GDK_WINDOW_TYPE (child) != GDK_WINDOW_FOREIGN)
+ child->window_type != GDK_WINDOW_FOREIGN)
hide_all_visible_impls (child);
}
return;
if (private->parent == NULL ||
- GDK_WINDOW_TYPE (private->parent) == GDK_WINDOW_ROOT)
+ private->parent->window_type == GDK_WINDOW_ROOT)
{
gdk_window_move_resize_toplevel (window, with_move, x, y, width, height);
return;
gdk_region_destroy (diff);
if (private->parent != NULL &&
- GDK_WINDOW_TYPE (private->parent) != GDK_WINDOW_ROOT)
+ private->parent->window_type != GDK_WINDOW_ROOT)
{
/* New area in the non-root parent window, needs invalidation */
diff = gdk_region_copy (old_region);
GdkWindowObject *parent;
while ((parent = get_event_parent (private)) != NULL &&
- (GDK_WINDOW_TYPE (parent) != GDK_WINDOW_ROOT))
+ (parent->window_type != GDK_WINDOW_ROOT))
private = parent;
return GDK_WINDOW (private);
y = child_y;
while (private->parent != NULL &&
- (GDK_WINDOW_TYPE (private->parent) != GDK_WINDOW_ROOT))
+ (private->parent->window_type != GDK_WINDOW_ROOT))
{
x += private->x;
y += private->y;
children = NULL;
while ((parent = get_event_parent (private)) != NULL &&
- (GDK_WINDOW_TYPE (parent) != GDK_WINDOW_ROOT))
+ (parent->window_type != GDK_WINDOW_ROOT))
{
children = g_list_prepend (children, private);
private = parent;
last = a;
win = get_event_parent (a);
- while (win != c && GDK_WINDOW_TYPE (win) != GDK_WINDOW_ROOT)
+ while (win != c && win->window_type != GDK_WINDOW_ROOT)
{
send_crossing_event (display, toplevel,
win, GDK_LEAVE_NOTIFY,
{
path = NULL;
win = get_event_parent (b);
- while (win != c && GDK_WINDOW_TYPE (win) != GDK_WINDOW_ROOT)
+ while (win != c && win->window_type != GDK_WINDOW_ROOT)
{
path = g_list_prepend (path, win);
win = get_event_parent (win);
if (!(is_button_type (event->type) ||
is_motion_type (event->type)) ||
- GDK_WINDOW_TYPE (event_private) == GDK_WINDOW_ROOT)
+ event_private->window_type == GDK_WINDOW_ROOT)
return;
is_toplevel =
event_private->parent == NULL ||
- GDK_WINDOW_TYPE (event_private->parent) == GDK_WINDOW_ROOT;
+ event_private->parent->window_type == GDK_WINDOW_ROOT;
if ((event->type == GDK_ENTER_NOTIFY ||
event->type == GDK_LEAVE_NOTIFY) &&